import request from '@/config/axios'

// ERP 产品 VO
export interface ProductVO {
  id: number // 产品编号
  name: string // 产品名称
  barCode: string // 产品条码
  categoryId: number // 产品分类编号
  unitId: number // 单位编号
  status: number // 产品状态
  standard: string // 产品规格
  remark: string // 产品备注
  expiryDay: number // 保质期天数
  weight: number // 基础重量（kg）
  purchasePrice: number // 采购价格，单位：元
  salePrice: number // 销售价格，单位：元
  minPrice: number // 最低价格，单位：元
  productAttribute: string // 产品属性
  unit: string // 单位（基本单位）
  warehousingRemark: string // 入库备注
  secondaryUnit: string // 副单位
  secondaryUnitQuantity: number // 副单位数量
  salePriceSecondary: number // 销售单价（辅助单位）
  costPriceSecondary: number // 成本单价（辅助单位）
  batchNumber: string // 批号
  supplierName: string // 供应商名称
  spec: string // 规格
  outerBoxSize: string // 外箱尺寸
  customerName: string // 客户名称
  itemNo: string // 货号
  packageInfo: string // 包装
  cuttingCostPerMeter: number // 切割费用/米
  piercingCostPerPiece: number // 刺穿点费用/个
  dottingCostPerPiece: number // 打点费用/个
  weightNew: number // 重量
  size: string // 尺码
  singleWeight: number // 单重
  length: number // 长
  width: number // 宽
  height: number // 高
  density: number // 密度
}

// ERP 产品 API
export const ProductApi = {
  // 查询ERP 产品分页
  getProductPage: async (params: any) => {
    return await request.get({ url: `/erp/product/page`, params })
  },

  // 查询ERP 产品详情
  getProduct: async (id: number) => {
    return await request.get({ url: `/erp/product/get?id=` + id })
  },

  // 新增ERP 产品
  createProduct: async (data: ProductVO) => {
    return await request.post({ url: `/erp/product/create`, data })
  },

  // 修改ERP 产品
  updateProduct: async (data: ProductVO) => {
    return await request.put({ url: `/erp/product/update`, data })
  },

  // 删除ERP 产品
  deleteProduct: async (id: number) => {
    return await request.delete({ url: `/erp/product/delete?id=` + id })
  },

  // 导出ERP 产品 Excel
  exportProduct: async (params) => {
    return await request.download({ url: `/erp/product/export-excel`, params })
  }
}